// course/pages/ConsultNotice/ConsultNotice.js
import { BASE_URL } from '../../../http/config';

Page({
  /**
   * 页面的初始数据
   */
  data: {
    noticeList: [], // 公告列表
    pageNum: 1,     // 当前页码
    pageSize: 10,   // 每页数量
    hasMore: true   // 是否有更多数据
  },

  /**
   * 获取公告列表
   */
  getNoticeList(refresh = false) {
    // 如果刷新，重置页码
    if (refresh) {
      this.setData({
        pageNum: 1,
        hasMore: true
      });
    }

    // 如果没有更多数据，直接返回
    if (!this.data.hasMore && !refresh) {
      return;
    }

    wx.showLoading({
      title: '加载中...',
    });

    // 请求公告列表数据
    wx.request({
      url: `${BASE_URL}/consultNotice/findPage`,
      method: 'GET',
      data: {
        pageNum: this.data.pageNum,
        pageSize: this.data.pageSize
      },
      success: (res) => {
        console.log("公告列表数据：", res.data);
        
        // 接口返回的数据结构为 { code: 200, data: { list: [], total: 0 } }
        if (res.data.code === 200) {
          const list = res.data.data.list || [];
          
          // 更新数据
          this.setData({
            noticeList: refresh ? list : [...this.data.noticeList, ...list],
            hasMore: list.length === this.data.pageSize,
            pageNum: this.data.pageNum + 1
          });
        } else {
          wx.showToast({
            title: '获取数据失败',
            icon: 'none'
          });
        }
      },
      fail: (err) => {
        console.error("请求失败：", err);
        wx.showToast({
          title: '网络错误',
          icon: 'none'
        });
      },
      complete: () => {
        wx.hideLoading();
        wx.stopPullDownRefresh();
      }
    });
  },

  /**
   * 跳转到详情页
   */
  goToDetail(e) {
    const id = e.currentTarget.dataset.id;
    wx.navigateTo({
      url: `/course/pages/ConsultNoticeDetail/ConsultNoticeDetail?id=${id}`,
    });
      console.log(id)
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // 获取公告列表数据
    this.getNoticeList(true);
    
    
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    // 下拉刷新，重新加载数据
    this.getNoticeList(true);
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
    // 上拉加载更多
    this.getNoticeList();
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})